package cn.gson.crm.model.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import cn.gson.crm.model.entity.Images;
import cn.gson.crm.model.entity.JyInterViewData;
import cn.gson.crm.model.entity.JyTeaemployment;
import cn.gson.crm.model.entity.Student;
/**
 * 毕业学员Mapper
 * @author asus
 *
 */
@Mapper
public interface TeaemploymentMapper {
	/**
	 * 查询所有毕业学员（包括就业）信息
	 * @param tea
	 * @return
	 */
	List<JyTeaemployment> teaemploymentList(@Param("name") String name);
	/**
	 * 查询出所有班级
	 * @return
	 */
	List<Map<String, Object>> selectAllClass();
	/**
	 * 查询出指定班级中的学员
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectClassStudent(@Param("classId") Long id);
	/**
	 * 查询出要审核的学员信息
	 * @return
	 */
	List<Map<String,Object>> selectGraduation(@Param("name") String name,@Param("stuType") String stuType,@Param("className") String className,@Param("classType") String classType);
	/**
	 * 查询出所有毕业学员
	 * @return
	 */
	List<Map<String, Object>> selectStudent();
	/**
	 * 查出毕业学员
	 * @return
	 */
	List<Map<String, Object>> selectStus();
	/**
	 * 就业风云榜
	 * @return
	 */
	List<Map<String, Object>> selectBest();
	/**
	 * 查出某个月份的某个城市的就业人数
	 * @param getjobtime
	 * @param address
	 * @return
	 */
	Integer selectCount(@Param("getJob") String getjobtime, @Param("address") String address);
	/**
	 * 查出某个城市的就业人数
	 * @param getjobtime
	 * @param address
	 * @return
	 */
	Integer selectCity(@Param("address") String address);
	/**
	 * 查出所有不同性别的就业学员数量
	 * @param gender
	 * @return
	 */
	Integer selectGender(@Param("gender") String gender);
	/**
	 * 查询出指定学员的就业信息
	 * @param id
	 * @return
	 */
	Map<String, Object> selectOne(@Param("graduationId") Long id);
	/**
	 * 查询出要预览的图片路径
	 * @param id
	 * @return
	 */
	Map<String, Object> selectPic(@Param("graduationId") Long id);
	/**
	 * 查出毕业学员是否已存在 
	 * @param id
	 * @return
	 */
	Map<String, Object> selectStudents(@Param("studentId") Long id);
	
	/**
	 * 学员归档
	 * @param id
	 */
	void updateState(@Param("studentId") Long id);
	/**
	 * 学员逻辑删除
	 * @param id
	 */
	void updateDelete(@Param("studentId") Long id);
	/**
	 * 学员逻辑删除（学员和班级的中间表）
	 * @param id
	 */
	void deleteStudentAndClass(@Param("studentId") Long id);
	/**
	 * 批量添加学员
	 * @param delete
	 * @param gdtime
	 * @param id
	 */
	void insertStu(@Param("delete") Boolean delete,@Param("gdtime") String gdtime,@Param("studentId") Long id);
	
	/**
	 * 查询出指定班级中的未毕业学员
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectClassStudents(@Param("classId") Long id);
}
